Method for authenticating key information between terminals of a communication link

ABSTRACT

With the help of a key management protocol, the transmitted key information (si) is authenticated by at least one certificate signed by the terminals (A, B), and at least one fingerprint (fp) of the public keys or certificate, which were used for authenticating the key information (si), is added to the useful part of an SIP message (INVITE). The identity information (idi) present in the header (SIPH) of an SIP message is additionally copied into a region of the header (SIPH) or the useful part (B), and a signature (S) is produced by way of the fingerprint (fp), the datum information (di) presented in the header (SIPH) of an SIP message, the copied identity information (idi′), and optionally the certificate reference information (hz), and is inserted into a further region of the header (SIPH) of the SIP message (INVITE). Advantageously, the additional signature that is produced and inserted according to the invention also remains uninfluenced during a transmission across several networks of different network operators, thereby achieving unique authentication of the transmitted key information. With the method according to the invention, accordingly attacks on the security of the authentication in the networks of the different network operators can be avoided.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is the United States national phase under 35 U.S.C. §371 of PCT International Patent Application No. PCT/EP2008/000054, filed on Jan. 7, 2008, and incorporated by reference herein.

BACKGROUND OF THE INVENTION

1. Field of the Invention

Embodiments of the invention relate methods and devices for ensuring the security of a fingerprint related to a certificate, even when it is transmitted through multiple networks with different network operators.

2. Background of the Art

In communication networks, in particular Voice over IP communication networks, a communication link or connection is often controlled by the SIP (Session Internet Protocol). For transferring data streams or multimedia data streams, i.e., user information or video and/or speech information, the RTP (Real-Time Protocol) is used. The RTP is defined in RFC standard 1889 and since 2003 in RFC standard 3550. Due to increased security requirements, data streams have long been transmitted in encoded form, and the secured RTP (SRTP) used for this is described in RFC standard 3711. The SRTP requires common private keys that are exchanged with an appropriate protocol and such protocols are known in the industry as key management protocols.

A well-known key management protocol is the MIKEY protocol, which is defined in RFC standard RFC 3830 and is embedded in the signaling protocol SIP.

Another key management protocol is the DTLS-SRTP (Data Transport Layer Security—Secure Transport Protocol). The DTLS protocol is based on the TLS (Transport Layer Security) protocol and is an encoding protocol for data transfers over the Internet. The DTLS protocol can also be substituted for less reliable protocols such as the UDP (User Datagram Protocol). The DTLS-SRTP is applied within user data channels or media data channels, and the key exchange is authenticated by certificates and the associated private keys. Rather than being signed by a trusted PKI (Public Key Infrastructure) authority, the certificates are signed by each terminal point or device itself. Certificates of this type are not adequate for authenticating terminals covered by the key management protocol, because there is no trust relationship with a common security anchor. To ensure authentication by the device with which a communication connection is planned, one or more pieces of security information, known in the industry as fingerprints, is or are generated and transmitted within the SIP message. Each fingerprint is related to a particular public key or to a certificate and usually represents the hash value of a hash function applied to the public key or certificate. The hash value is a short numerical sequence that is separate from the public key or certificate but clearly identifies the public key. The fingerprint is secured within the SIP message by a signature—according to RFC standard 4474, for example—which is generally used to secure the header and the SIP body, such that the SIP body represents the user data portion of an SIP message in which the information to be transmitted for user and media data is transferred.

For an SIP message, in particular an INVITE message, the key information carried in a media channel is authenticated, using a key management protocol, by at least one certificate signed by the terminals, and in the body of an SIP message, at least one fingerprint of the certificate is inserted for authenticating the key information to be transmitted. In the header of an SIP message, according to the SIP, a piece of date information, a piece of certificate reference information, and a piece of identify information for the terminal generating the SIP message are inserted.

The quality of the end-to-end security of user and media data depends upon the authentication of the fingerprint. If SIP messages are transmitted over networks with multiple carriers or network operators, the contents of SIP messages are changed; an example is the changes made to transport addresses in each network operator's session board controllers. In such cases, the SIP identity signature as described in RFC standard 4474 is no longer valid and must be regenerated by each network operator. This opens up the possibility for an attack on the authenticity of the fingerprint, in which the certificate's fingerprint is replaced in the intervening network operators' switching networks by a fingerprint for a certificate that is assigned to the network operator's intervening switching network.

BRIEF SUMMARY OF THE INVENTION

The most significant aspect of embodiments of the invention is that a key management protocol is used to authenticate the transmitted key information by means of certificates signed by the terminals, and at least one fingerprint of a certificate signed by a terminal is inserted in the body of an SIP message. In the header of an SIP message, a piece of date information, a piece of certificate reference information, and a piece of identify information for the terminal generating the SIP message are inserted. According to an embodiment of the invention, the identity information in one area of the header or body is copied, and a signature for the fingerprint, the date information, and the copied identity is generated and inserted into a different area of the header of an SIP message. As an option, the certificate reference information can be included when the signature is generated.

An important advantage of embodiments of the invented method is that, for a communication connection between two terminal points or devices that goes through multiple networks with multiple network operators, even if a change is made to the identity signature by the different network operators' networks, the additional signature generated and inserted according to the invention remains unaffected and can be used for clear authentication of the transmitted key information. This clear authentication of the key information is possible even if the identity information is changed in the different operators' networks. The invented method can therefore prevent attacks on authentication security in different network operators' networks.

According to one advantageous embodiment of the invented method, at least one additional piece of information related to authentication is inserted in the SIP message when the signature is generated. This makes it possible to include information that even further increases security.

According to another embodiment of the invented method, the DTLS-SRTP (Data Transport Layer Security—Secure Transport Protocol) is used as the key management protocol. This protocol is recommended especially for securing multimedia traffic transmitted according to the SIP.

According to another advantageous embodiment of the invented method, the identity information, date information, and certificate reference information is inserted in predefined fields of the SIP message header, the fingerprint is inserted in a predefined field of the SIP message body, and at least the parts of the predefined fields that contain these pieces of information are included when the signature is generated. This means that the information in each of the predetermined fields must not completely fill the field, and when the signature is generated, either only the information contained in the fields or the complete field is included.

Additional advantageous embodiments of the invented method and one arrangement for an analysis unit according to the invention are described in later claims.

BRIEF DESCRIPTION OF THE FIGURES

The invented method is further explained below, with reference to two drawings which show:

FIG. 1 a flow diagram for explaining the invented method and

FIG. 2 the configuration of the SIP messages indicated in FIG. 1.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 is a flow diagram showing how a communication connection between a terminal A and a terminal B—designated as A and B in FIG. 1—is generated. After each of the two terminals A, B, in the direction of the network IPNET, there is a respective proxy A and proxy B, which consist of SIP proxies in the execution example and are designated as proxy A (SIP) and proxy B (SIP) in FIG. 1. Between proxy A and proxy B, for this execution example, there is assumed to be at least one network IPNET with a network operator, such as the Internet and an Internet operator. Each of the terminals A, B, as well as proxy A and proxy B and the network IPNET, are represented by a vertical dashed line in the flow diagram.

An SIP proxy is usually generated in an SIP proxy server and is responsible for converting a name into an IP address in an SIP domain and vice versa. Additional services, performance features, and scalability to SIP networks are also accomplished in an SIP proxy server. An SIP domain is indicated by the domain designation in a URI (Universal Resource Identifier), and the SIP proxy for that domain—domains A and B in the execution example—handles the address change.

A terminal A, B or an SIP terminal can consist of an SIP terminal device, a gateway, or a supplemental service server such as a conference server, using the SIP as the VoIP:

For the execution example, it is assumed that within the framework of the SIP for transmitting the voice or multimedia information, the SRTP is used as the secured RTP under which the key or key information is exchanged with a key management protocol. It is further assumed that the DTLS-SRTP (Data Transport Layer Security—Secure Transport Protocol) is used as the key management protocol. The DTLS protocol is based on the TLS (Transport Layer Security) protocol and is an encoding protocol for data transfers over networks with Internet protocol. The DTLS-SRTP is used within the user data channel or media data channel such that the key exchange is authenticated through certificates and the associated private keys. Rather than being signed by a trusted PKI (Public Key Infrastructure) authority, the certificates are signed by each terminal A, B or terminal device itself. To ensure authentication by the device with which a communication connection is planned, one or more pieces of security information, known in the industry as fingerprints fp, is or are generated and sent within the SIP message. Each fingerprint fp is related to a particular public key or to a certificate and usually represents the hash value of a hash function applied to the public key or certificate. The hash value is a short numerical sequence that is separate from the public key but clearly identifies the public key. The fingerprint fp is secured within the SIP message by a signature—according to RFC standard 4474, for example—which is generally used to secure the header and the SIP body. The signature guarantees that the key information is from the original signature issuer.

When a communication connection is established with an SIP proxy according to the SIP, an INVITE message INVITE (1) is sent from terminal A to the proxy A that is assigned to SIP domain A. FIG. 2 shows the configuration of an INVITE message INVITE (2) sent between proxy A and the network IPNET, wherein only the portions or fields of the INVITE message INVITE that are required in order to explain the invented method, including the information they contain, are described.

An INVITE message INVITE (1) contains an SIP header SIPH and a body B, and one or more fingerprints fp derived from public keys or certificates of the terminal—designated in FIG. 2 as fp (si)—and inserted by terminal A in an SDP (Session Description Protocol) field are transmitted in the body B and used to authenticate the key information si. The parameters of a communication connection are generally transmitted in the SDP fields. A piece of identification information idi and a piece of date information di—designated as idi, di in FIG. 2—are entered in the SIP header SIPH, with the identity information idi entered in a special field—known as the From Header in the industry—and the date information di entered in a date field. Here the fingerprint fp represents the certificate of terminal A, used to authenticate the key information si.

The identity information idi contained in the SIP header of the SIP message INVITE (2) is copied by proxy A, and the copy idi′ is inserted in an additional field or element of the SIP header SIPH. This copying and inserting of the identity information idi can alternatively be performed by terminal A. In addition, a piece of reference information hz for a domain certificate is entered through proxy A in a certificate field, whereby the reference information hz indicates a network address—in particular an Internet address—at which the certificate from domain A is stored or can be called up. A domain certificate represents a signed public piece of key information used to verify a transmitted signature sent with a private piece of key information.

In order to achieve unique authentication of the key information si by a user or by proxy B or terminal B, a signature S is generated according to the invention for the date information di, the copied identity information idi′, the fingerprint fp contained in the body B, and optionally the reference information hz, and that signature is inserted in an additional field of the SIP header SIPH, designated in FIG. 2 as di, idi′, fp, opt(hz)>S. The signature S is generated using a piece of signature information managed by proxy A or B or a piece of private key information and a hash value derived from the date information di, the copied identity information idi′, the reference information hz, and the fingerprint fp contained in the body B. The resulting generated INVITE message INVITE (2) can also, as shown in FIG. 1, be transmitted over one or more networks IPNET with the IF to proxy B and terminal B, designated in FIG. 1 as INVITE (3), INVITE (4).

One example is taken from a header SIPH in an INVITE message INVITE according to the SIP, which is sent by proxy A over the network IPNET to terminal B:

INVITE sip:b@domainb.com SIP/2.0 1) Via: SIP/2.0/TLS pc.domaina.com;branch= zEz67in32Wer4i 2) To B <sip:b@domainb.com> 3) From: A csip:a@domaina.com>;tag=1234567890 4) Call-ID: 12345678901234 5) CSeq: 987654 INVITE 6) Max-Forwards: 50 7) Date: Thu, 03 Jan 2008 15:07:00 GMT 8) Contact: <sip:a@pc.domaina.com> 9) Content-Type: application/sdp  10) Content-Length: 123  11) DomainCert-Info: <https://domaina.com/proxya.cer>;  12)         alg=rsa−shal Original-Identity-Info: A <sip: a@domaina . com>  13) Signature: “jjsRdiOFOZYOy2wrVghuhcsMbHWUSFxI+p6q5TOQXBM mz14) 6uEo3svJsSH49th8qcefQBbHC00VMZr2k+t6VmCvPonWJM GvQTBDqghoWeLxJfzB2alpxAr3VgrB0SsjcdVcunyaZucy RlB YQTLqWzJ+KVhPKbfU/pryhVn9Jcqe=” Explanation:  1) Message type, target address (URI), SIP version  2) IP address, port number, and transport protocol for the message's answerback  3) Display name of B and its URI  4) Display name of A and its URI (identification information idi)  5) Random string as the unique number for a communication connection  6) Sequential number (related to the message type)  7) Maximum number of proxy servers (decreased as each proxy is passed)  8) Date information di  9) SIP address of the recipient for a direct communication 10) Data type in body B (according to the SDP, for example) 11) Length of the body 12) Reference information hz for domain certificate 13) Copied identification information idi' 14) Signature S

Another example is taken from an SIP body B:

v=0  15) o=− 6418913922105372816 2105372818 IN IP4 192.0.2.1  15) s=example2  15) c=IN IP4 192.0.2.1  15) t=0 0  16) m=audio 54113 RTP/SAVP 0  17) a=fingerprint:SHA−1 18) 4A:AD:B9:B1:3F:82:18:3B:54:02:12:DF:3E:5D:49:6B:19:E5:7C:AB m=video 54115 RTP/SAVP 0 a=fingerprint:SHA−1 4A:AD:B9:B1:3F:82:18:3B:54:02:12:DF: 3E:5D:49:6B:19:E5:7C:AB Explanation: 15) RTP (Real Time Protocol)-Session-Parameter 16) Time description 17) Media type (such as audio) 18) Fingerprint

This allows network-specific signatures for the INVITE message INVITE to be generated by the networks carrying the INVITE message INVITE and inserted in the INVITE message INVITE, without changing or affecting the signature S inserted in the SIP header SIPH. This means that in proxy B, by testing the signature S contained in the additional field, the key information si sent in a media channel can be uniquely authenticated, i.e., the fingerprint fp is uniquely inserted by proxy A or domain A. Terminal B can also read the identity information idi and the copied identity information idi′ from the received INVITE message INVITE (4) and can notify a user of terminal B.

According to the SIP, an answering message 200OK is generated in terminal A and sent through proxy B, the network IPNET, and proxy A to terminal A. It is no longer necessary to generate and insert the signature S in the answering message 200OK, because terminal A and the key information si are identified or authenticated by the unique identity information idi and the copied identity information idi′.

According to the invented method, the key information for terminal B is authenticated in terminal A or proxy A in the same way as is described above, but instead of an INVITE message INVITE, an UPDATE message is used (not shown in FIG. 1). 

1. Method for authenticating a piece of key information between a first terminal and a second terminal of a planned communication connection according to the Session Initial Protocol (SIP), comprising: authenticating a piece of transmitted key information for at least one certificate signed by a first terminal or second terminal using a key management protocol; inserting at least one fingerprint of a certificate signed by said first terminal or said second terminal in the body of an SIP message; inserting into a header of the SIP message date information certificate reference information, and identity information for the terminal signing the certificate; copying the identity information from an area of the header or the body; and generating a signature from the fingerprint, the date information, and the copied identity information and inserting said signature into a different area of the header of the SIP message.
 2. The method of claim 1, comprising including certification reference information when generating the signature.
 3. The method of claim 1, comprising at least one additional piece of existing authentication-related information in the SIP message when generating the signature.
 4. (canceled)
 5. The method of claim 1, comprising inserting the identity information, the date information, and the certificate reference information in predetermined fields of the header of the SIP message, and inserting the fingerprint in a predetermined field of the body of the SIP message, wherein at least the parts of the predetermined fields that contain this information are used in generating the signature.
 6. The method of claim 1, wherein the certificate reference information contains a reference placing the certificate in the domain in which the SIP message is generated.
 7. The method of claim 6, wherein the certificate reference information is represented by a member of the group consisting of an Internet link and a URI address.
 8. The method of claim 1, wherein the SIP message is generated in said first terminal or said second terminal, and the actions of copying the identity information from an area of the header, inserting the certificate reference information, generating the signature, and inserting it in another area of the header are performed in the domain where the terminal generating the SIP message is located.
 9. The method of claim 1, comprising inserting the copied identity information and the signature into additional areas of the header for the SIP message.
 10. (canceled)
 11. The method of claim 1, wherein at least one of said first terminal and said second terminal is a terminal device with one of an Internet protocol, a gateway, or a server, and wherein the domain is a member of the group consisting of a VoIP switch, a session border controller—and a VoIP-SIP proxy.
 12. A terminal and proxy for executing the method of claim
 1. 13. A method for transmitting a message from a first terminal device to a second terminal device comprising: the first terminal device creating a first message for transmission to the second terminal, the first message having a header and a body, the first message created by a process comprising: deriving at least one fingerprint from at least one of a public key and a certificate of the first terminal, inserting the at least one fingerprint into the body of the message to authenticate the at least one of the public key and the certificate, and inserting a piece of identification information and a piece of date information into the header of the first message; copying and inserting the piece of the identification information into the first message; a server entering a piece of reference information into the header of the first message; generating a signature using the copied piece of identification information, the piece of the reference information, and the fingerprint inserted into the body of the first message; inserting the signature into the header of the first message; and forwarding the first message toward the second terminal device.
 14. The method of claim 13 wherein the signature is generated by also using a piece of private key information and a hash value derived from the date information.
 15. The method of claim 13 wherein the signature is generated by also using signature information managed by the server and a hash value derived from the date information.
 16. The method of claim 13 wherein the copied identification information is copied and inserted by the first terminal or by the server.
 17. The method of claim 13 wherein the fingerprint is inserted into a Session Description Protocol (SDP) field of the body of the first message.
 18. The method of claim 13 wherein the piece of the reference information indicates a network address at which a domain certificate is stored or is accessible.
 19. The method of claim 13 wherein the server is a first server and the method further comprises a second server receiving the first message and testing the signature to authenticate the first message.
 20. The method of claim 19 further comprising a second terminal sending an answering message in response to the first message.
 21. A system for executing the method of claim
 13. 22. A system comprising: a first terminal; a server in communication with the first terminal; the first terminal device creating a first message for transmission to a second terminal, the first message having a header and a body, the first message created by a process comprising: deriving at least one fingerprint from at least one of a public key and a certificate of the first terminal, inserting the at least one fingerprint into the body of the message to authenticate the at least one of the public key and the certificate, and inserting a piece of identification information and a piece of date information into the header of the first message; the server or the first terminal copying and inserting the piece of the identification information into the first message; the server entering a piece of reference information into the header of the first message; the server generating a signature using the copied piece of identification information, the piece of the reference information, and the fingerprint inserted into the body of the first message; the server inserting the signature into the header of the first message; and the server forwarding the first message toward the second terminal device. 